import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Mercader extends Roles {
    //cambio visibilidad por defecto a private. No tenían visibilidad estos atributos <--Jesús
    private Set<String> casaComercio;
    private Map<String,Integer> precio;
    private Recursos rec=Recursos.getInstancia();
   
    public Mercader(){
        casaComercio=new HashSet<String>();
        precio= new HashMap<String,Integer>();
        precio.put("Maiz", 0);
        precio.put("Indigo", 1);
        precio.put("Azucar", 2);
        precio.put("Tabaco", 3);
        precio.put("Cafe", 4);
    }
   
    public void accion (Jugador j, boolean privilegios){
        String cadena;
        Map<String,Integer> mercancias=j.getMercancias();   
       
        System.out.println("Esta son las mercancias que hay en la casa de comercio: ");
        Iterator<String> it=casaComercio.iterator();
        while(it.hasNext()){
            cadena=(String)it.next();
            System.out.printf(cadena);
        }
        System.out.println("Indica la mercancia que quieres introducir en la casa de comercio. Tus mercancias son:");
        Set<String> merc=mercancias.keySet();
        Iterator<String> it2 = merc.iterator();
        int a=1;
        while (it2.hasNext()){
            String mercan=(String)it2.next();
            int b=mercancias.get(mercan);
            if (b!=0){
                System.out.printf("%d) %s",a,mercan);
                a++;
            }
            try{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String key = br.readLine();
           
            int eleccion=Integer.parseInt(key);
            String mercan2;
            if(eleccion==1){
                mercan2="Maiz";
                casaComercio.add(mercan2);
            }else if(eleccion==2){
                mercan2="Indigo";
                casaComercio.add(mercan2);
            }else if(eleccion==3){
                mercan2="Cafe";
                casaComercio.add(mercan2);
            }else if(eleccion==4){
                mercan2="Tabaco";
                casaComercio.add(mercan2);
            }else{
                mercan2="Azucar";
                casaComercio.add(mercan2);
            }
            if(privilegios){
                j.anadirDinero(1);
                rec.decrementaDinero(1);
            }
            j.anadirDinero(precio.get(mercan2));
            rec.decrementaDinero(precio.get(mercan2));    
   
            }catch(Exception e){}
        }
  }
}